home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…tion Library 2 (Reseller) / Apple R&P Lib Reseller v2.0.iso / 4-Fonts & Software / Demo Software / AppMaker / Demo AppMaker™ / Demo AppMaker™.rsrc / TmpP_204_MainMenu.txt < prev    next >
Text File  |  1989-04-09  |  4KB  |  2 lines

  1. # (decoded with TMPL 11972)
  2. { %filename% }{ Created %date% %time% by AppMaker }Unit %unitname%;InterfaceUses%If MPW%    {$Load ToolBox.dump}        MemTypes,        QuickDraw,        OSIntf,        ToolIntf,        PackIntf,    {$Load}%end if%%If Think%{$ifc undefined Think_Pascal}    ListManager,{$endc}%end if%    %UsesFiles%    Globals,    ResourceDefs;    {----------}Procedure InitTitles;Procedure LoadMenus;Procedure DoMenu (menuChoice:    longint);Procedure UpdateMenus;{----------}Implementation%If MPW%{$D+}{$R+}{$OV+}%end if%%If MPW%{$S %unitname%}%end if%{----------}Procedure InitTitles;Begin    %InitTitles%End; {InitTitles} {----------}Procedure LoadMenus;Begin    %GetMenus%    %InsertMenus%    DrawMenuBar;End; {LoadMenus}{----------}Procedure DoAbout;var    itemNr:            integer;Begin    itemNr := Alert (AboutID, nil);End; {DoAbout} {----------}Procedure DoApple (itemNr:    integer);var    name:            Str255;    refNum:            integer;Begin    case itemNr of        AppleAbout:                DoAbout;        otherwise begin                GetItem (AppleMenu, itemNr, name);                refNum := OpenDeskAcc (name);            end;    end; {case}End; {DoApple} {----------}Procedure DoMenu {(menuChoice:    longint)};var    menuID:            integer;    itemNr:            integer;Begin    menuID := HiWord (menuChoice);    itemNr := LoWord (menuChoice);        case menuID of        0:                {Do nothing};        %HandleMenus%    end; {case}    HiliteMenu (0);End; {DoMenu} {----------}Procedure UpdateMenus;var    frontPeek:        WindowPeek;    isFront:        boolean;    {is there a front window?}    isCur:            boolean;    {is there a current window?}    isDirty:        boolean;    {is it dirty?}    hasFile:        boolean;    {does it have a file?}    isSelected:        boolean;    {is anything selected?}    isDesk:            boolean;    {is the front window a desk acc?}    isText:            boolean;    {is there a current text field?}    isScrap:        boolean;    {is there any scrap?}    menu:            MenuHandle;    menuBarChanged:    boolean;        {----------}    Procedure Enable (itemNr:    integer;                      enabled:    boolean);    Begin        if enabled then begin            EnableItem  (menu, itemNr);        end else begin            DisableItem (menu, itemNr);        end;    End; {Enable}        {----------}    Procedure EnableTitle (menu:    MenuHandle;                             enabled:    boolean);    Begin        if enabled <> odd (menu^^.enableFlags) then begin            menuBarChanged := true;        end;        if enabled then begin            EnableItem  (menu, 0);        end else begin            DisableItem (menu, 0);        end;    End; {EnableTitle}    Begin {UpdateMenus}    menuBarChanged := false;    isFront        := (FrontWindow <> nil);    isCur        := (curWindow <> nil);    isDirty     := false;    hasFile     := false;    isSelected    := false;    if isCur then begin        isDirty        :=  cur^.dirty;        HasFile        := (cur^.fileNum <> 0);    end;    isDesk := false;    if isFront then begin        frontPeek    := WindowPeek (FrontWindow);        isDesk        := (frontPeek^.windowKind < 0);    end;    isText        := false;    if isCur then begin        isText        := (cur^.text <> nil);    end;    isScrap        := false;    if isText then begin        isSelected    := (cur^.text^^.selStart <> cur^.text^^.selEnd);        isScrap        := (TEGetScrapLen > 0);    end;        menu := FileMenu;%if defined FileClose%    Enable (FileClose,        isFront);%end if%%if defined FileSave%    Enable (FileSave,        isDirty);%end if%%if defined FileSaveAs%    Enable (FileSaveAs,        isDirty);%end if%%if defined FileRevert%    Enable (FileRevert,        isDirty and hasFile);%end if%        menu := EditMenu;    if isFront then begin%if defined EditUndo%        Enable (EditUndo,        isDesk);%end if%%if defined EditCut%        Enable (EditCut,        isDesk or isSelected);%end if%%if defined EditCopy%        Enable (EditCopy,        isDesk or isSelected);%end if%%if defined EditPaste%        Enable (EditPaste,        isDesk or isScrap);%end if%%if defined EditClear%        Enable (EditClear,        isDesk or isSelected);%end if%%if defined EditSelectAll%        Enable (EditSelectAll,    isText);%end if%    end;    EnableTitle (EditMenu,     isFront);    if menuBarChanged then begin        DrawMenuBar;    end;End; {UpdateMenus}End. {%unitname%}